package model;

// Generated 07-oct-2013 10:41:41 by Hibernate Tools 3.4.0.CR1

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;

import static javax.persistence.GenerationType.IDENTITY;

import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.NamedQueries;
import org.hibernate.annotations.NamedQuery;

/**
 * Log generated by hbm2java
 */
@Entity
@Table(name = "log", catalog = "`tt2012-b036`")
@NamedQueries({ @NamedQuery(name = "Log.getAll", query = "SELECT DISTINCT l FROM Log l,  Archivo a, Usuario u INNER JOIN u.grupos ug INNER JOIN ug.usuarios gu "
		+ "where l.fkArchivo = a.idArchivo and a.fkGrupo= ug.idGrupo and gu.idNickName = :username order by l.fecha DESC LIMIT 5" ) })
public class Log implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Integer idLog;
	private int fkArchivo;
	private int fkTipoTransaccion;
	private String fkUsuarioTransaccion;
	private Date fecha;

	public Log() {
	}

	public Log(int fkArchivo, int fkTipoTransaccion,
			String fkUsuarioTransaccion, Date fecha) {
		this.fkArchivo = fkArchivo;
		this.fkTipoTransaccion = fkTipoTransaccion;
		this.fkUsuarioTransaccion = fkUsuarioTransaccion;
		this.fecha = fecha;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "idLog", unique = true, nullable = false)
	public Integer getIdLog() {
		return this.idLog;
	}

	public void setIdLog(Integer idLog) {
		this.idLog = idLog;
	}

	@Column(name = "fkArchivo", nullable = false)
	public int getFkArchivo() {
		return this.fkArchivo;
	}

	public void setFkArchivo(int fkArchivo) {
		this.fkArchivo = fkArchivo;
	}

	@Column(name = "fkTipoTransaccion", nullable = false)
	public int getFkTipoTransaccion() {
		return this.fkTipoTransaccion;
	}

	public void setFkTipoTransaccion(int fkTipoTransaccion) {
		this.fkTipoTransaccion = fkTipoTransaccion;
	}

	@Column(name = "fkUsuarioTransaccion", nullable = false, length = 15)
	public String getFkUsuarioTransaccion() {
		return this.fkUsuarioTransaccion;
	}

	public void setFkUsuarioTransaccion(String fkUsuarioTransaccion) {
		this.fkUsuarioTransaccion = fkUsuarioTransaccion;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "fecha", nullable = false, length = 19)
	public Date getFecha() {
		return this.fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

}
